% !TEX program = xelatex
% !TEX encoding = utf-8

\subsection{非极大值抑制}

\subsubsection{非极大值抑制简介}

\begin{frame}
\frametitle{非极大值抑制（Non-Maximum Suppression，NMS）}
{\Large \begin{enumerate}
        \item NMS 就是抑制不是极大值的元素，可以理解为局部最大搜索。这个局部代表的是一个邻域，邻域有两个参数可变，一是邻域的维数，二是邻域的大小 \pause
        \item NMS 在计算机视觉领域有着非常重要的应用，如视频目标跟踪、数据挖掘、3D重建、目标识别以及纹理分析等 \pause
        \item 在计算机视觉的 Object Detection 任务中，NMS 用来选取那些邻域里分数最高的窗口，同时抑制那些分数低的窗口
\end{enumerate}}
\end{frame}

\begin{frame}
\frametitle{Object Detection 中 NMS 的原理}
{\Large 重叠率（重叠区域面积比例 IOU）}
\begin{figure}[h]
    \centering
    \includegraphics[width=0.5\paperwidth]{images/IoU}
\end{figure} \pause
使用一个 $score$ 值来判断是否抑制，一般来说，这个 $score > 0.5$ 就可以被认为一个不错的结果了。
\end{frame}

\subsubsection{非极大值抑制算法}

\begin{frame}
\frametitle{检测过程算法}
\begin{algorithm}[H]
    \begin{algorithmic}
        \REQUIRE $IN$: 输入的 Bounding Box 集合；$thres$: 判定抑制的 IOU 阈值
        \ENSURE $OUT$: 输出的 Bounding Box 集合
        \STATE $OUT \gets \varnothing$
        \WHILE{$IN \neq \varnothing$}
        \STATE $bbox \gets IN.pop(max\ score\ box)$
        \FOR{$box\ in\ IN$}
        \IF{$IOU(box, bbox) < thres$}
        \STATE $OUT \gets OUT \cup \left\lbrace box\right\rbrace $
        \ELSE 
        \STATE $IN.pop(box)$
        \ENDIF
        \ENDFOR
        \ENDWHILE
        \RETURN{$OUT$}
    \end{algorithmic}
    \caption{非极大值抑制检测过程算法}
    \label{非极大值抑制检测过程算法}
\end{algorithm}
\end{frame}

\begin{frame}
\frametitle{非极大值抑制效果}
\begin{figure}[H]
    \centering
    \includegraphics[width=0.75\paperwidth]{images/nms}
\end{figure}
\end{frame}

\begin{frame}
\frametitle{训练过程算法}
\begin{algorithm}[H]
    \begin{algorithmic}
        \REQUIRE $IN$: 输入的 Bounding Box 集合；$thres$: 判定抑制的 IOU 阈值；$score$: Bounding Box 的置信度；$gt\_box$: 标准 Bounding Box
        \ENSURE $OUT$: 输出的 Bounding Box 集合
        \STATE $OUT \gets \varnothing$
        \FOR{$box\ in\ IN$}
        \IF{$box.score > score$}
        \IF{$IOU(box, gt\_box) > thres$}
        \STATE $OUT \gets OUT \cup \left\{box\right\}$
        \ENDIF
        \ENDIF
        \ENDFOR
        \PRINT{$OUT$}
    \end{algorithmic}
    \caption{非极大值抑制训练过程算法}
    \label{非极大值抑制训练过程算法}
\end{algorithm}
\end{frame}